Introduction to Oracle Database for Database Professionals

Comments 0

Share to social media

Oracle Database, often referred to simply as Oracle, is one of the most powerful and widely used relational database management systems (RDBMS) in the world. Designed to manage large amounts of data, ensure reliability, and offer high-performance operations, it is the backbone of many enterprise-level systems across industries, including finance, healthcare, retail, and telecommunications.

Whether you’re an IT professional, developer, or simply exploring databases, understanding Oracle will help provide a strong foundation for working with data. If you are already using another RDBMS, there are many similarities as well as many differences.

This article introduces the basics of Oracle Database to help you get started.

Key Features of Oracle Database

In this section I will introduce some of the key features of Oracle that will help you if you understand the values of Oracle and why it may be a fit for the projects you are working on.

Scalability and Performance

Oracle is built to scale business needs. It supports both small, single-instance deployments and large, multi-node systems with millions of transactions. Features like Real Application Clusters (RAC) allow multiple servers to work together to improve performance and ensure high availability for each database instance.

With 23ai, multi-tenancy is the default architecture, which leverages a more dynamic and agile design, which is also more like SQL Server, MySQL and other relational databases on the market.

Where previous single instance and multi-node installations housed all foreground and background processes, resource usage, data dictionary and Oracle database source inside each Oracle instance, now Oracle is able to leverage a container database to offload and share across many pluggable databases, which house the schemas, lightening the load, offering extensive flexibility. In versions Oracle 12c and 19c, multi-tenant or single instance was a choice, but with 23ai, this is sole solution for Oracle databases, deprecating single instance architecture.

High Availability and Disaster Recovery

Oracle offers features like Data Guard and Goldengate to ensure continuous data availability, even in the case of hardware failures or disasters. These tools enable replication and automated failover, ensuring minimal downtime, even in various cloud vendors, such as Azure, Google and soon, AWS.

Security and Compliance

Security is a core focus of Oracle. Features such as Transparent Data Encryption (TDE), Database Vault, the Oracle Wallet/OCI Wallet and auditing tools help protect sensitive data and ensure compliance with regulations like GDPR or HIPAA.

Oracle redesigned all auditing in Oracle 23ai, which both advanced and simplified auditing. DBAs can now monitor auditing data from direct queries on tables vs. having to monitor or parse out auditing logs.

Advanced Analytics

Oracle includes support for analytics and data warehousing, making it possible to run business intelligence workloads and generate insights in real time. It also integrates machine learning capabilities to further enhance decision-making.

Cloud Integration

Oracle Database is available both on premises, in the cloud through Oracle Cloud Infrastructure (OCI) and is now offered in Azure, Google and soon, AWS Cloud. Oracle@cloud is not the only way to deploy Oracle in these various clouds, as I spent five years building Oracle on Azure through Infrastructure as a Service, so there is an incredible variety of options available for customers to build Oracle solutions close to the cloud services and AI solutions they want to build with the valuable data housed in Oracle databases. No matter where Oracle is installed, it supports hybrid architecture, allowing businesses to manage data across cloud and on-premises environments seamlessly.

Architecture of Oracle

Oracle’s architecture is recognizable to many DBAs and developers and foreign just the same when compared to other platforms.

A few things to understand about Oracle, especially if you are already knowledgeable about another database platform:

  1. Oracle has high-level areas of memory allocation- the SGA and PGA. Where SGA is allocated to the primary processing of memory needs in an Oracle database, PGA performs sorting, hashing and addresses the needs of PL/SQL tables. PGA works in conjunction with the Temp Tablespace to address many of the same things taken care of by the Temp database in SQL Server.
  2. Every row in an Oracle database has a unique ROWID. This is an invisible column that can be queried and is used by Oracle to identify and quickly locate rows inside the Oracle database.
  3. Most indexes are HEAP, which means they aren’t sorted, unlike SQL Server’s popular clustered index. This is why many Oracle DBAs are completely confounded by the need to rebuild indexes that are so often done in SQL Server and due to the PGA, is completely unnecessary. We do have Index Organized Tables (IOTs) which the table is a sorted index, but it’s a niche use case and not as often used as one might think.
  4. Our undo is written to both the UNDO tablespace and the redo for sake of rolling back and rolling forward.
  5. The term instance refers to the background processes, service and memory allocated to an Oracle database. This is a different definition than other database platforms.
  6. Our bin files, bin directory is referred to as our ORACLE_HOME.

With all of this information, now let’s look at Oracle internals, starting with the memory and background processing and how it interacts with the Oracle database:

A diagram of a system

Description automatically generated

There’s an incredible amount of activity that is involved in an active Oracle database. No matter what features are installed, there are a basic set of background processes, all individual Linux processes that can be viewed separately at the OS level. The System Monitor, (SMON) and Process Monitor (PMON) are easily identifiable and at the OS level, include the instance name as part of the process name.

The MMON (Manageability Monitor Process) and MMNL, (known as the MMON lite) is used to collect performance data for the Automatic Workload Repository (AWR) and other performance metric information. The RECO is the Recovery Process, which is self-explanatory, as recovery of a database is essential, requiring this process to roll forward and roll back any changes as part of a recovery of the database.

While the Log Writer (LGWR) writes to the Redo logs, the Archiver(s) will take the information in the redo logs and archive those logs when required for point in time recovery. There can be a single or multiple Database Writers (DBWn) which datafiles, while the Checkpoint process (CKPT) ensures all information is tracked in both the Control Files and the Data Files.

For those using the unique feature of Flashback in Oracle, there is a secondary set of logs that are written to by the RVWR background process.

Multitenant Database Architecture

We’ll next step into physical architecture and multitenancy. Understanding how to stacks up to other platforms can be very beneficial, so let’s do a high-level comparison of features. The reason I say high-level is that there’s no apple-to-apple comparisons here. There’s a lot of various overlaps and differences, but these are the closest terms when comparing.

OracleVarious Other Database Platforms
Container database (CDB)Master Database
Pluggable Database(PDB)User Database
Seed DatabaseModel Database/Template databases
Data DictionaryInformation Schema/SYS objects/SYS Schema
Temp Tablespace/PGATemp Database/Server Process Buffer
Redo Logs/UndoTransaction Logs/WAL File
System Global Area (SGA)Memory areas, combined with DB Buffers/WAL Buffers
TablespacesFilegroup or Tablespaces

Armed with the above information, both the earlier diagrams should begin to become clearer for the database technologist. The lower one now displays how the memory (SGA) and background processes are connected to the container database (CDB) and from the CDB, how the seed database and pluggable databases (PDBs) connect. There’s another layer here around application containers and PDBs, but we’re going to keep this for another day, focusing on this simplified diagram to begin.

A diagram of a database

Description automatically generated

There are control files, as discussed earlier in the article, that are attached to the CDB, along with a choice to use shared or local UNDO tablespaces with Oracle multitenant PDBs. This provides more flexibility, depending on the complexity and demands of the Oracle database’s workload.

How Oracle Fits into the Tech Landscape

Oracle Database is known for powering some of the largest enterprise systems globally. Its focus on advanced features, performance, security, and reliability has made it a choice for industries where data integrity and uptime are critical. Around 80% of Oracle installations currently run on Linux for the operating system, with only a few running on Windows, mainframe or Unix. Over the years, Oracle has evolved with trends like cloud computing, big data, and artificial intelligence to stay relevant in a changing tech landscape.

For developers, Oracle offers a variety of tools and technologies, such as PL/SQL (Oracle’s procedural extension to SQL) and Oracle SQL Developer, to simplify database development and management. Database administrators (DBAs) also benefit from features that automate routine tasks, such as patching, backup, and monitoring, freeing them to focus on optimization and strategic initiatives.

Getting Started with Oracle

Here are some steps to help you start working with Oracle Database:

Download Oracle Database

Oracle offers a free version of Oracle 23ai that’s in various formats to fit just about every learning need. These are specifically meant to introduce the developer or database administrator to Oracle and although you can’t use it to test backups or disaster recovery scenarios, many of the newest, most advanced features are available in this free version. The next article in this series will cover how to install Oracle 23ai Free on a Windows laptop, as there were some questions about how to do it that aren’t covered with all the container versions available on Oracle’s site.

You can read up on the options available and download it for yourself here:

https://www.oracle.com/database/free

Install Oracle SQL Developer

SQL Developer is the de facto, free, graphical tool that simplifies working with Oracle databases. It allows you to write and execute SQL queries and manage database objects.

Installing SQL Developer is very easy, as it’s a simple zip file to be unzipped on your local desktop. The biggest challenge for those new to Oracle is understanding connection strings and figuring out how to gather the information required to build it out. I will be covering networking very soon, which this will be included with if you run into any issues.

You can download Oracle’s SQL Developer from Oracle’s main site:

https://www.oracle.com/database/sqldeveloper

Learn SQL and PL/SQL

SQL is the standard language for interacting with databases, and PL/SQL expands its functionality by adding procedural logic. Understanding these languages will be essential as you grow in your Oracle journey.

There’s a lot of classes you can take, but I would highly recommend looking at some of the free resources to begin with. Steven Feuerstein, (among others) have created a great YouTube channel you can use to understand more about PL/SQL:

https://www.youtube.com/c/PracticallyPerfectPLSQL

Explore Documentation and Tutorials

Oracle provides extensive online documentation and free courses through platforms like Oracle University. These resources will help you become familiar with the system. I don’t want to repeat the acronym RTFM, but come on, it’s an essential part for Oracle professionals, as Oracle features are vast and there’s no way to keep it all inside our brains. This is often why more Oracle technologists specialize- there’s just so much to know and so we rely on Oracle documentation and tutorials to succeed.

https://www.oracle.com/technical-resources/documentation/knowledge-documentation.html

Subscribe to Oracle User Content

There are some trusted specialists in Oracle that can help you on your journey. These are a few that I would highly recommend:

First things first, you need to know where to go when you have a question or when you need to ping others for help and we Oracle peeps are kind of old-school. You could go to Stack Exchange or similar, but for those that want an answer or discussion they can trust, I recommend going to Oracle-l. You’ll find people that want to understand the problem you’re facing and actually help. I started out on the site back in 2004, so it’s been around for just a little while…😊

https://www.freelists.org/list/oracle-l

Tim Hall has been trusted for his content since Oracle 8i. I love how Tim puts so much in layman’s terms, making it easy for anyone to understand and build on their knowledge:

https://oracle-base.com/articles/23/articles-23

I had the opportunity to chat with Connor McDonald at Oracle Cloud World this year and love what he, Chris Saxon and other’s have done with Ask Tom since Tom’s retirement. This site was always phenomenal, but they’ve taken it to a whole new level, both with written content, office hours and videos:

https://asktom.oracle.com/ords/f?p=100:1000::::::

If you’re going to use SQL Developer, you better have the blog from the guy that is synonymous with the product and that’s Jeff Smith. Jeff is a good guy, even if I do miss that he’s standing next to me at Oracle Cloud World, (sorry for missing you in my blind spot, Jeff and you had to practically throw something at me… 😊) Awesome site with more content that’s plain-spoken and helps make your job learning Oracle easier:

https://www.thatjeffsmith.com

There’s a ton of other bloggers and sites I think that are important for the Oracle technologist, but when you’re just starting out, I don’t want to overwhelm you- these are the ones I believe you should know when you’re starting out.

Conclusion

Oracle Database is a robust and feature-rich platform that powers critical systems across most, if not all, industries. Its combination of performance, security, scalability, and cloud readiness makes it a valuable tool for both developers and administrators. By starting with a basic understanding of PL/SQL, installing the tools, and exploring its features—you’ll be well on your way to the journey of understanding Oracle and leveraging it in your career.

Load comments

About the author

Kellyn Pot'Vin-Gorman

DBAKevlar

See Profile

Kellyn Gorman is the Multi-platform Database and AI Advocate at Redgate. She's been in the tech industry for a quarter of a century, specializing in Oracle, SQL Server, MySQL and PostgreSQL. Her focus on Azure and Google cloud for high IO workloads on IaaS has been of exceptional interest for data-infra specialists in the tech world. Her content is highly respected under her handle DBAKevlar. She is Co-leader over the Data Platform DEI group, an executive board core member for DZone, and mentors around half a dozen people at any given time in multiple communities.